home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-02
/
rkpls301.zip
/
RKPLUS.VER
< prev
next >
Wrap
Text File
|
1993-03-04
|
13KB
|
258 lines
RkPlus Version Log
------------------------------------------------------------------------------
RkPlus version 3.01 (4-March-1993)
We corrected a bug in the Rkp3Enc encoding unit, which slipped past our beta
testers. Under certain conditions, one of the pointers used in encoding the
first 4 characters of the key could possibly exceed the valid range of the data
it was pointing to. Depending on the arrangement of constants within the
programme, this would sometimes cause a key generated in one programme to be
considered invalid by another. This problem ONLY existed in programmes which
used Rkp3Enc.
We also made minor changes to the RkPlus unit to assure key file compatibility
with future RkPlus libraries (for other languages).
Finally, the 3.01 archive contains the Turbo Pascal(tm) 1.0 for Windows(tm)
version that we were unable to include in the 3.0 archive.
------------------------------------------------------------------------------
RkPlus version 3.0 (4-February-1993)
This is a MAJOR update to RkPlus. Although version 3.0 is still compatible
with versions 2.0 to 2.4 (mainly through the use of the Rkp2Enc unit), we have
made several changes to the way keys are generated (allowing the programmer to
create programmes with more secure keys) :
(1) We have added hooks for user-written Encode functions. An encode
function (there should be 3) needs to take 3 strings, a byte and
an integer; returning a word. You can cause RkPlus to use
your encoding functions by calling the SetEncode procedure. If
you want RkPlus to use version 2.x/compatible encoding functions,
you should Use the Rkp2Enc unit (must be listed AFTER RkPlus). If
you want to use the new 3.x encoding functions, you should Use the
Rkp3Enc unit (must be listed AFTER RkPlus).
(2) There is no longer an OwnerCode or ProgramCode in RkPlus. You may
use any constants of your own devising in your encoding functions.
To maintain compatibility with 2.x, the RkpEnc2 unit contains
definitions for OwnerCode and ProgramCode. Rkp3Enc uses SetOwnerCode,
SetProgCode and SetVerCode procedures to define its encryption
constants.
(3) It is now possibly to have expiring keys which have an expiration
day (as well as month and year). Because the expiration date for
a key is binary encrypted directly into the key number, adding
an expiration day caused a decrease in the number of bits available
to store the month and year. Therefore, when using expiration
days the range of years is less than when using only expiration
months and years. The boolean UseExpDays determines whether
RkPlus will use expiration days (which will allow a 21 year range)
or the version 2.x/compatible approach of expiration month and
year only (which allows a 340 year range). UseExpDays defaults to
True, but the Rkp2Enc unit sets it to False (for compatibility
with version 2.x).
We have also added BaseYear (default is 1990), which is used to determine the
actual date as stored in a registration key. It is very important that
UseExpDays and BaseYear are set to the same value in the programme that
generates keys and in the programme that uses them. Otherwise, different
expiration date values will be calculated.
Due to naming conflicts with the error return values of RkPlus (in Rkp.Status)
and the error return values of other units that we were developing, we have
changed the way that errors are returned. This will allow compatibility among
all units produced by Serious Cybernetics. Registration status is now returned
in the boolean Rkp.Registered (in the Rkp record). The function RkpOK will
return False if an error has occured and RkpError will return the value of the
error that occured (as a word). Values of $0001 to $00FF indicate a Turbo
Pascal (tm) error and are the same as errors returned by IoResult. Other
errors will return higher values (see RKPLUS.DOC for details). RkPlus defines
constants for the more common errors (also documented in RKPLUS.DOC). Due to
these changes, references to Rkp.Status will need to be changed to
Rkp.Register, RkpOK and/or RkpError where applicable.
We (finally!) added the BrandRegInfo procedure (originally to be called
CloneRegInfo). This procedure will brand an EXE file with the contents of the
Rkp record.
RkPlusVer is now a Function.
VerifyKey and SaveRegInfo will no longer return an InvalidKey error, if if
Rkp.Key equals '' or '000000000000' (instead, Rkp.Registered will be set to
False).
We have removed the variables KeyFile and Rkp.KeyPath to allow RkPlus to store
this information internally as individual path, name and extension. This is
necessary to allow the new BrandRegInfo to correctly use the key file name
(with an extension of '.EXE'), without having to store duplicate information.
The name of the key file is now accessed through a procedure and 2 functions.
SetKeyFile will set the key file name (with optional path and extension),
KeyFileName will return the full path, filename and extension of the key file
and ExeFileName will return the path and filename of the key file (with the
extension .EXE').
We have also added the boolean UseExePath, to specify where RkPlus reads/writes
key files when no path is specified (using SetKeyFile). If UseExePath is True
(default), RkPlus will use the path from which the programme was executed. If
UseExePath is False, RkPlus will use the current path. If a path is specified
for the key file, UseExePath will be ignored.
Programmes written with unregistered copies of RkPlus will now display the
message "RkPlus 3.0 * Unlicenced Evaluation Copy" when they are first executed.
There is no delay or beep. This is NOT intended as an annoyance, simply as a
gentle reminder that RkPlus is ShareWare and should be registered if it is
actually used for software development. Programmes written with registered
copies of RkPlus will not display this message. (see REGISTER.DOC for more
information about registering RkPlus).
Version 1.5 of Turbo Pascal(tm) for Windows(tm) and Version 7.0 of Borland
Pascal(tm) [all modes] are now supported by RkPlus. In order to make the TPW
version compatible with the other versions, it was necessary to create a
"compatibility" unit (WDCompat) which is included in the RKP15TPU.ZIP and
RKP70TPU.ZIP archives. This unit is used automatically by the TPW versions of
RkPlus and requires no intervention on the part of the programmer.
Finally, we have added the variable KeyFileCode, to help generate more secure
key files. KeyFileCode will be used by RkPlus to "scramble" the key file
(Important: KeyFileCode must be set to the same value in all programmes which
will access the key file, or they will be incompatible). For more information
on KeyFileCode, see the RKPLUS.301 file included with this archive.
------------------------------------------------------------------------------
RkPlus version 2.4 (13-June-1991)
Due to a conflict between the naming of the RkPlus Registration Record as "Reg"
and the use of "Reg" in other programmes/units as a record for holding
registers, we have changed the name to "Rkp". Therefore all occurances of
"Reg." in your existing programmes will need to be replaced with "Rkp." This
can be done easily in the IDE by pressing CTRL-Q then CTRL-A then typing "Reg."
(without the quotes) and pressing ENTER then typing "Rkp." (without the quotes)
and pressing ENTER then typing "GNU" (without the quotes) and pressing ENTER.
Also, due to a bug in the encryption algorythm, programmes which had an
OwnerCode and/or ProgramCode of less than 10 characters MAY have produced
incorrect keys under certain conditions. This has been fixed in version 2.4,
but new keys MAY have to be generated for such programmes. This problem did
not exist (to the best of our knowledge) when the OwnerCode and ProgramCode
were both longer than 10 characters.
In addition, we fixed a bug where an expiration month of 12 (December) would
produce an invalid key.
Rkp.Status may now contain an additional result code. If any of the RkPlus
procedures/functions return BadTPU in Rkp.Status, it indicates that the
RKPLUS.TPU file may have been tampered with or may be corrupt. If this
occurs, you should immediately replace the questionable .TPU file.
The various demo programmes now demonstrate more secure methods of assigning
the OwnerCode.
------------------------------------------------------------------------------
RkPlus version 2.3 (4-April-1991)
The KeyFile variable is now String[12], instead of String[8]. This will allow
you to include an extension for the key file, as well as a name. If no
extension is specified, the default extension (.REG) will be used.
BadSystemDate is now a Function.
We have also added the Integer KeyFileSize. If KeyFileSize is greater than 337
(the minimum possible key file size), then any key files that are created will
have random bytes appended to the end of the file to a length of KeyFileSize.
KeyFileSize is ignored if it is less than or equal to 337 and RkPlus ONLY reads
the first 337 bytes. Any random bytes, at the end of the file, are ignored.
In addition, we have added the function GetKeyFileSize. This will return the
size of the key file (defined in the KeyFile variable), including any random
bytes that were appended to the end of the file due to KeyFileSize. A value of
-1 indicates that the information was not available (most likely the file did
not exist). GetKeyFileSize does NOT alter or use the Reg record.
------------------------------------------------------------------------------
RkPlus version 2.2 (19-February-1991)
Starting with version 2.2, we are including a Turbo Pascal (tm) 5.0 version of
RkPlus. All versions of RkPlus (for TP50, TP55 and TP60) are now RKPLUS.TPU.
The 5.0 version is contained in RK50PLUS.ZIP. The 5.5 version is contained in
RK55PLUS.ZIP and the 6.0 version is contained in RK60PLUS.ZIP. All three
archives are contained in the RkPlus distribution archive (RKPLUS22.ZIP)
We are now including a help text file (RKPLUS.TXT), for those of you who are
using any of the Turbo Power (tm) libraries. It is in a format usable by the
Turbo Power (tm) MAKEHELP programme. The compiled RKPLUS.HLP file and Turbo
Power (tm) POPHELP programme are available as RKHELP22.ZIP.
Also, GetRegInfo will no longer set the Reg record to "garbage" when a key file
is invalid or corrupt.
------------------------------------------------------------------------------
RkPlus version 2.1 (9-February-1991)
The only real change in version 2.1 is a reduction in the size of the TPU, due
to rearranging some of the internal constants and disabling internal range
checking. This release is primarily to allow for some changes and corrections
to the documentation, and the addition of some new sample programmes.
We have added 2 new sample programmes, that demonstrate a couple of additional
methods of handling keys. RkpDemo2 has a built-in "brand" routine, instead of
using an external "brand" programme or pre-generated key files. RkpDemo3 saves
registration information in its own configuration file, instead of using a key
file. For simplicity, all three demo programmes (RkpDemo, RkpDemo2 and
RkpDemo3) are identical (except, of course, for key handling method) and use
identical keys. Therefore, a key file (RKPDEMO.REG) created for RkpDemo can
also be used by RkpDemo2 and registration key numbers created for RkpDemo can
also be used by both RkpDemo2 and RkpDemo3.
Also, we accidentally overlooked SetRegInfo, when we wrote the initial
documentation. A description and examples of using SetRegInfo are now included
in RKPLUS.DOC.
------------------------------------------------------------------------------
RkPlus version 2.0 (8-February-1991)
Initial release of RkPlus. This is a total re-write of the rKey programme. It
features alphanumeric keys, multiple encryption strings, expiring keys, etc.
If you don't feel that you need the enhanced features, a new smaller version
of rKey is also available.
------------------------------------------------------------------------------
RkPlus (c) 1991-93 Serious Cybernetics
Rkp2Enc (c) 1990-93 Serious Cybernetics
Rkp3Enc (c) 1993 Serious Cybernetics
rKey (c) 1990-92 Serious Cybernetics
Turbo Pascal (c) 1983-89 Borland International
Microsoft Windows (c) 1985-92 Microsoft Corporation
MAKEHELP, POPHELP (c) 1989 TurboPower Software